package com.lancoo.ccas52.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lancoo.ccas52.entity.TaskToGrade;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * @ClassName TaskInput
 * @Description 新学期计划
 * @Author quin
 * @Date 2022/12/21 16:10
 */
@Data
@ApiModel(value = "TaskInput对象", description = "添加新学期计划")
public class TaskInput implements Serializable {

    @ApiModelProperty(value = "任务名字",required = true)
    private String taskName;

    @ApiModelProperty(value = "学校id",required = true)
    private String schoolId;

    @ApiModelProperty(value = "学校名字",required = true)
    private String schoolName;

    @ApiModelProperty(value = "学期",required = true)
    private String term;

    @ApiModelProperty(value = "学期名称",required = true)
    private String termName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "学期开始时间",required = true)
    private LocalDateTime termBeginTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "学期结束时间",required = true)
    private LocalDateTime termEndTime;


    @ApiModelProperty(value = "0:小周  1:大周",required = true)
    private Integer weekSet;

    @ApiModelProperty(value = "1:开课计划->预选课程->教学任务->课表编排->在线选课  2:开课计划->教学任务->课表编排->在线选课  3:开课计划->教学任务->课表编排",required = true)
    private Integer mainFlow;

    @ApiModelProperty(value = "0各校区独立排课 1全校统一排课",required = true)
    private Integer unifiedCampus;

    @ApiModelProperty(value = "排课权限：0:仅教务管理员 1:教务和院系管理员一起排课",required = true)
    private Integer arrangeAuthority;

    @ApiModelProperty(value = "计划的开启类型：0:当前学期  1:下学期",required = true)
    private Integer openType;

    @ApiModelProperty(value = "计划对应年级",required = true)
    private List<TaskToGrade> taskToGrades;

}
